<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<script>
    // 在JS中也能实现继承，但是实现方式比较麻烦

    // 父构造函数（相当于父类）
    function Animal() {
        this.legs = 4
        this.eyes = 2
    }

    function Dog() {
        this.shut = function() {
            console.log("狗叫")
        }
    }

    // 先把原型对象设置成父类的实例对象
    // 必须设置成 父类的实例对象，如果不设置成实例对象，不同子类将会继承到相同的成员变量，互相可以进行修改，这样就有问题
    Dog.prototype = new Animal()
    // 然后把原型对象的 constructor 指回当前对象的构造函数
    Dog.prototype.constructor = Dog

    let dog = new Dog()
    console.log(dog.eyes)
    dog.shut()


</script>
    
</body>
</html>